home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / OCEMail.a < prev    next >
Text File  |  1996-05-01  |  62KB  |  1,815 lines

  1. ;
  2. ;    File:        OCEMail.a
  3. ;
  4. ;    Contains:    Apple Open Collaboration Environment OCEMail Interfaces.
  5. ;
  6. ;    Version:    Technology:    AOCE Toolbox 1.02
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__OCEMAIL__') = 'UNDEFINED' THEN
  19. __OCEMAIL__ SET 1
  20.  
  21.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  22.     include 'Files.a'
  23.     ENDIF
  24.     IF &TYPE('__MEMORY__') = 'UNDEFINED' THEN
  25.     include 'Memory.a'
  26.     ENDIF
  27.     IF &TYPE('__TEXTEDIT__') = 'UNDEFINED' THEN
  28.     include 'TextEdit.a'
  29.     ENDIF
  30.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  31.     include 'Types.a'
  32.     ENDIF
  33.     IF &TYPE('__DIGITALSIGNATURE__') = 'UNDEFINED' THEN
  34.     include 'DigitalSignature.a'
  35.     ENDIF
  36.     IF &TYPE('__OCE__') = 'UNDEFINED' THEN
  37.     include 'OCE.a'
  38.     ENDIF
  39.     IF &TYPE('__OCEAUTHDIR__') = 'UNDEFINED' THEN
  40.     include 'OCEAuthDir.a'
  41.     ENDIF
  42.     IF &TYPE('__OCEMESSAGING__') = 'UNDEFINED' THEN
  43.     include 'OCEMessaging.a'
  44.     ENDIF
  45.     IF FOR_SYSTEM7_ONLY THEN
  46. ; ************************************************************************************
  47. ;  Common Definitions 
  48. ; ************************************************************************************
  49. ;  reference to a new or open letter or message 
  50. ; typedef long                             MailMsgRef
  51.  
  52. ;  reference to an open msam queue 
  53. ; typedef long                             MSAMQueueRef
  54.  
  55. ;  identifies slots managed by a PMSAM 
  56. ; typedef unsigned short                 MSAMSlotID
  57.  
  58. ;  reference to an active mailbox 
  59. ; typedef long                             MailboxRef
  60.  
  61. ;  identifies slots within a mailbox 
  62. ; typedef unsigned short                 MailSlotID
  63.  
  64. ;  identifies a letter in a mailbox 
  65. MailSeqNum                RECORD 0
  66. slotID                     ds.w    1                ; offset: $0 (0)
  67. seqNum                     ds.l    1                ; offset: $2 (2)
  68. sizeof                     EQU *                    ; size:   $6 (6)
  69.                         ENDR
  70. ;
  71. ; A MailBuffer is used to describe a buffer used for an IO operation.
  72. ;The location of the buffer is pointed to by 'buffer'. 
  73. ;When reading, the size of the buffer is 'bufferSize' 
  74. ;and the size of data actually read is 'dataSize'.
  75. ;When writing, the size of data to be written is 'bufferSize' 
  76. ;and the size of data actually written is 'dataSize'.
  77. ;
  78. MailBuffer                RECORD 0
  79. bufferSize                 ds.l    1                ; offset: $0 (0)
  80. buffer                     ds.l    1                ; offset: $4 (4)
  81. dataSize                 ds.l    1                ; offset: $8 (8)
  82. sizeof                     EQU *                    ; size:   $C (12)
  83.                         ENDR
  84. ;
  85. ; A MailReply is used to describe a commonly used reply buffer format.
  86. ;It contains a count of tuples followed by an array of tuples.
  87. ;The format of the tuple itself depends on each particular call.
  88. ;
  89. MailReply                RECORD 0
  90. tupleCount                 ds.w    1                ; offset: $0 (0)
  91. ;  tuple[tupleCount] 
  92. sizeof                     EQU *                    ; size:   $2 (2)
  93.                         ENDR
  94. ;
  95. ; Shared Memory Communication Area used when Mail Manager sends 
  96. ;High Level Events to a PMSAM. 
  97. ;
  98. SMCA                    RECORD 0
  99. smcaLength                 ds.w    1                ; offset: $0 (0)        ;  includes size of smcaLength field 
  100. result                     ds.w    1                ; offset: $2 (2)
  101. userBytes                 ds.l    1                ; offset: $4 (4)
  102. slotCID                     ds        CreationID        ; offset: $8 (8)        ;  for create/modify/delete slot calls 
  103.                          ORG 8
  104. msgHint                     ds.l    1                ; offset: $8 (8)        ;  for kMailEPPCMsgOpened 
  105.                          ORG 16
  106. sizeof                     EQU *                    ; size:   $10 (16)
  107.                         ENDR
  108. ; ************************************************************************************
  109. ;  Value of creator and types fields for messages and blocks defined by MailManager 
  110.  
  111. kMailAppleMailCreator            EQU        'apml'                ; message and letter block creator 
  112. kMailLtrMsgType                    EQU        'lttr'                ; message type of letters, reports 
  113. kMailLtrHdrType                    EQU        'lthd'                ; contains letter header 
  114. kMailContentType                EQU        'body'                ; contains content of letter 
  115. kMailEnclosureListType            EQU        'elst'                ; contains list of enclosures 
  116. kMailEnclosureDesktopType        EQU        'edsk'                ; contains desktop mgr info for enclosures 
  117. kMailEnclosureFileType            EQU        'asgl'                ; contains a file enclosure, format is defined by AppleSingle 
  118. kMailImageBodyType                EQU        'imag'                ; contains image of letter 
  119. kMailMSAMType                    EQU        'gwyi'                ; contains msam specific information 
  120. kMailTunnelLtrType                EQU        'tunl'                ; used to read a tunnelled message 
  121. kMailHopInfoType                EQU        'hopi'                ; used to read hopInfo for a tunnelled message 
  122. kMailReportType                    EQU        'rpti'                ; contains report info 
  123. kMailFamily                        EQU        'mail'                ; Defines family of "mail" msgs: content, header, etc 
  124. kMailFamilyFile                    EQU        'file'                ; Defines family of "direct display" msgs 
  125. ;
  126. ;kMailImageBodyType:
  127. ;    format is struct TPfPgDir - in Printing.h
  128. ;    *    struct TPfPgDir {
  129. ;    *        short    pageCount;        - number of pages in the image.
  130. ;    *        long    iPgPos[129];    - iPgPos[n] is the offset from the start of the block
  131. ;    *                                - to image of page n.
  132. ;    *                                - iPgPos[n+1] - iPgPos[n] is the length of page n.
  133. ;
  134. ;kMailReportType:
  135. ;Reports have the isReport bit set in MailIndications and contain a block of type kMailReport.
  136. ;This block has a header, IPMReportBlockHeader,
  137. ;followed by an array of elements, each of type IPMRecipientReport
  138. ;
  139. ;Various families used by mail or related msgs
  140. ;
  141. ; ************************************************************************************
  142. ; typedef unsigned short                 MailAttributeID
  143.  
  144. ;  Values of MailAttributeID 
  145. ;  Message store attributes - stored in the catalog 
  146. ;  Will always be present in a letter and have fixed sizes 
  147.  
  148. kMailLetterFlagsBit                EQU        1                    ; MailLetterFlags 
  149.                                                             ; Letter attributes - stored in the letter will always be present in a letter and have fixed sizes 
  150. kMailIndicationsBit                EQU        3                    ; MailIndications 
  151. kMailMsgTypeBit                    EQU        4                    ; OCECreatorType 
  152. kMailLetterIDBit                EQU        5                    ; MailLetterID 
  153. kMailSendTimeStampBit            EQU        6                    ; MailTime 
  154. kMailNestingLevelBit            EQU        7                    ; MailNestingLevel 
  155. kMailMsgFamilyBit                EQU        8                    ; OSType 
  156.                                                             ; Letter attributes - stored in the letter may be present in a letter and have fixed sizes 
  157. kMailReplyIDBit                    EQU        9                    ; MailLetterID 
  158. kMailConversationIDBit            EQU        10                    ; MailLetterID 
  159.                                                             ; Letter attributes - stored in the letter may be present in a letter and have variable length sizes 
  160. kMailSubjectBit                    EQU        11                    ; RString 
  161. kMailFromBit                    EQU        12                    ; MailRecipient 
  162. kMailToBit                        EQU        13                    ; MailRecipient 
  163. kMailCcBit                        EQU        14                    ; MailRecipient 
  164. kMailBccBit                        EQU        15                    ; MailRecipient 
  165. ; typedef unsigned long                 MailAttributeMask
  166.  
  167. ;  Values of MailAttributeMask 
  168.  
  169. kMailLetterFlagsMask            EQU        $00000001
  170. kMailIndicationsMask            EQU        $00000004
  171. kMailMsgTypeMask                EQU        $00000008
  172. kMailLetterIDMask                EQU        $00000010
  173. kMailSendTimeStampMask            EQU        $00000020
  174. kMailNestingLevelMask            EQU        $00000040
  175. kMailMsgFamilyMask                EQU        $00000080
  176. kMailReplyIDMask                EQU        $00000100
  177. kMailConversationIDMask            EQU        $00000200
  178. kMailSubjectMask                EQU        $00000400
  179. kMailFromMask                    EQU        $00000800
  180. kMailToMask                        EQU        $00001000
  181. kMailCcMask                        EQU        $00002000
  182. kMailBccMask                    EQU        $00004000
  183. ; typedef unsigned long                 MailAttributeBitmap
  184.  
  185. ; ************************************************************************************
  186. ; typedef unsigned short                 MailLetterSystemFlags
  187.  
  188. ;  Values of MailLetterSystemFlags 
  189. ;  letter is available locally (either by nature or via cache) 
  190.  
  191. kMailIsLocalBit                    EQU        2
  192.  
  193. kMailIsLocalMask                EQU        $00000004
  194. ; typedef unsigned short                 MailLetterUserFlags
  195.  
  196.  
  197. kMailReadBit                    EQU        0                    ; this letter has been opened 
  198. kMailDontArchiveBit                EQU        1                    ; this letter is not to be archived either because it has already been archived or it should not be archived. 
  199. kMailInTrashBit                    EQU        2                    ; this letter is in trash 
  200. ;  Values of MailLetterUserFlags 
  201.  
  202. kMailReadMask                    EQU        $00000001
  203. kMailDontArchiveMask            EQU        $00000002
  204. kMailInTrashMask                EQU        $00000004
  205. MailLetterFlags            RECORD 0
  206. sysFlags                 ds.w    1                ; offset: $0 (0)
  207. userFlags                 ds.w    1                ; offset: $2 (2)
  208. sizeof                     EQU *                    ; size:   $4 (4)
  209.                         ENDR
  210. MailMaskedLetterFlags    RECORD 0
  211. flagMask                 ds        MailLetterFlags ; offset: $0 (0)        ;  flags that are to be set 
  212. flagValues                 ds        MailLetterFlags ; offset: $4 (4)        ;  and their values 
  213. sizeof                     EQU *                    ; size:   $8 (8)
  214.                         ENDR
  215.  
  216. kMailOriginalInReportBit        EQU        1
  217. kMailNonReceiptReportsBit        EQU        3
  218. kMailReceiptReportsBit            EQU        4
  219. kMailForwardedBit                EQU        5
  220. kMailPriorityBit                EQU        6
  221. kMailIsReportWithOriginalBit    EQU        8
  222. kMailIsReportBit                EQU        9
  223. kMailHasContentBit                EQU        10
  224. kMailHasSignatureBit            EQU        11
  225. kMailAuthenticatedBit            EQU        12
  226. kMailSentBit                    EQU        13
  227. kMailNativeContentBit            EQU        14
  228. kMailImageContentBit            EQU        15
  229. kMailStandardContentBit            EQU        16
  230. ;  Values of MailIndications 
  231.  
  232. kMailStandardContentMask        EQU        $00008000
  233. kMailImageContentMask            EQU        $00004000
  234. kMailNativeContentMask            EQU        $00002000
  235. kMailSentMask                    EQU        $00001000
  236. kMailAuthenticatedMask            EQU        $00000800
  237. kMailHasSignatureMask            EQU        $00000400
  238. kMailHasContentMask                EQU        $00000200
  239. kMailIsReportMask                EQU        $00000100
  240. kMailIsReportWithOriginalMask    EQU        $00000080
  241. kMailPriorityMask                EQU        $00000060
  242. kMailForwardedMask                EQU        $00000010
  243. kMailReceiptReportsMask            EQU        $00000008
  244. kMailNonReceiptReportsMask        EQU        $00000004
  245. kMailOriginalInReportMask        EQU        $00000003
  246. ; typedef unsigned long                 MailIndications
  247.  
  248. ;  values of the field originalInReport in MailIndications 
  249.  
  250. kMailNoOriginal                    EQU        0                    ; do not enclose original in reports 
  251. kMailEncloseOnNonReceipt        EQU        3                    ; enclose original in non-delivery reports 
  252. MailLetterID            RECORD 0
  253. f                         ds        IPMMsgID
  254. sizeof                     EQU *                    ; size:   $10 (16)
  255.                         ENDR
  256.  
  257.  
  258. MailTime                RECORD 0
  259. time                     ds.l    1                ; offset: $0 (0)        ;  current UTC(GMT) time 
  260. offset                     ds.l    1                ; offset: $4 (4)        ;  offset from GMT 
  261. sizeof                     EQU *                    ; size:   $8 (8)
  262.                         ENDR
  263. ;  innermost letter has nestingLevel 0 
  264. ; typedef unsigned short                 MailNestingLevel
  265.  
  266. MailRecipient            RECORD 0
  267. f                         ds        OCERecipient
  268. sizeof                     EQU *                    ; size:   $E (14)
  269.                         ENDR
  270.  
  271.  
  272. ; ************************************************************************************
  273.  
  274. kMailTextSegmentBit                EQU        0
  275. kMailPictSegmentBit                EQU        1
  276. kMailSoundSegmentBit            EQU        2
  277. kMailStyledTextSegmentBit        EQU        3
  278. kMailMovieSegmentBit            EQU        4
  279. ; typedef unsigned short                 MailSegmentMask
  280.  
  281. ;  Values of MailSegmentMask 
  282.  
  283. kMailTextSegmentMask            EQU        $00000001
  284. kMailPictSegmentMask            EQU        $00000002
  285. kMailSoundSegmentMask            EQU        $00000004
  286. kMailStyledTextSegmentMask        EQU        $00000008
  287. kMailMovieSegmentMask            EQU        $00000010
  288. ; typedef unsigned short                 MailSegmentType
  289.  
  290. ;  Values of MailSegmentType 
  291.  
  292. kMailInvalidSegmentType            EQU        0
  293. kMailTextSegmentType            EQU        1
  294. kMailPictSegmentType            EQU        2
  295. kMailSoundSegmentType            EQU        3
  296. kMailStyledTextSegmentType        EQU        4
  297. kMailMovieSegmentType            EQU        5
  298. ; ************************************************************************************
  299.  
  300. kMailErrorLogEntryVersion        EQU        $0101
  301. kMailMSAMErrorStringListID        EQU        128                    ; These 'STR#' resources should be 
  302. kMailMSAMActionStringListID        EQU        129                    ; in the PMSAM resource fork 
  303. ; typedef unsigned short                 MailLogErrorType
  304.  
  305. ;  Values of MailLogErrorType 
  306.  
  307. kMailELECorrectable                EQU        0
  308. kMailELEError                    EQU        1
  309. kMailELEWarning                    EQU        2
  310. kMailELEInformational            EQU        3
  311. ; typedef short                         MailLogErrorCode
  312.  
  313. ;  Values of MailLogErrorCode 
  314.  
  315. kMailMSAMErrorCode                EQU        0                    ; positive codes are indices into PMSAM defined strings 
  316. kMailMiscError                    EQU        -1                    ; negative codes are OCE defined 
  317. kMailNoModem                    EQU        -2                    ; modem required, but missing 
  318. MailErrorLogEntryInfo    RECORD 0
  319. version                     ds.w    1                ; offset: $0 (0)
  320. timeOccurred             ds.l    1                ; offset: $2 (2)        ;  do not fill in 
  321. reportingPMSAM             ds        Str31            ; offset: $6 (6)        ;  do not fill in 
  322. reportingMSAMSlot         ds        Str31            ; offset: $26 (38)        ;  do not fill in 
  323. errorType                 ds.w    1                ; offset: $46 (70)
  324. errorCode                 ds.w    1                ; offset: $48 (72)
  325. errorResource             ds.w    1                ; offset: $4A (74)        ;  resources are valid if 
  326. actionResource             ds.w    1                ; offset: $4C (76)        ;  errorCode = kMailMSAMErrorCode index starts from 1 
  327. filler                     ds.l    1                ; offset: $4E (78)
  328. filler2                     ds.w    1                ; offset: $52 (82)
  329. sizeof                     EQU *                    ; size:   $54 (84)
  330.                         ENDR
  331. ; ************************************************************************************
  332. ; typedef short                         MailBlockMode
  333.  
  334. ;  Values of MailBlockMode 
  335.  
  336. kMailFromStart                    EQU        1                    ; write data from offset calculated from 
  337. kMailFromLEOB                    EQU        2                    ; start of block, end of block, 
  338. kMailFromMark                    EQU        3                    ; or from the current mark 
  339. MailEnclosureInfo        RECORD 0
  340. enclosureName             ds.l    1                ; offset: $0 (0)
  341. catInfo                     ds.l    1                ; offset: $4 (4)
  342. comment                     ds.l    1                ; offset: $8 (8)
  343. icon                     ds.l    1                ; offset: $C (12)
  344. sizeof                     EQU *                    ; size:   $10 (16)
  345.                         ENDR
  346. ; ************************************************************************************
  347.  
  348. kOCESetupLocationNone            EQU        0                    ; disconnect state 
  349. kOCESetupLocationMax            EQU        8                    ; maximum location value 
  350. ; typedef char                             OCESetupLocation
  351.  
  352. ;
  353. ; location state is a bitmask, 0x1=>1st location active, 
  354. ; * 0x2 => 2nd, 0x4 => 3rd, etc.
  355. ;
  356. ; typedef UInt8                         MailLocationFlags
  357.  
  358. MailLocationInfo        RECORD 0
  359. location                 ds.b    1                ; offset: $0 (0)
  360. active                     ds.b    1                ; offset: $1 (1)
  361. sizeof                     EQU *                    ; size:   $2 (2)
  362.                         ENDR
  363. ; ************************************************************************************
  364. ;  Definitions for Personal MSAMs 
  365. ; ************************************************************************************
  366.  
  367. kMailEPPCMsgVersion                EQU        3
  368. MailEPPCMsg                RECORD 0
  369. version                     ds.w    1                ; offset: $0 (0)
  370. theSMCA                     ds.l    1                ; offset: $2 (2)        ;  for 'crsl', 'mdsl', 'dlsl', 'sndi', 'msgo', 'admn' 
  371.                          ORG 2
  372. sequenceNumber             ds.l    1                ; offset: $2 (2)        ;  for 'inqu', 'dlom' 
  373.                          ORG 2
  374. locationInfo             ds        MailLocationInfo ; offset: $2 (2)        ;  for 'locc' 
  375.                          ORG 6
  376. sizeof                     EQU *                    ; size:   $6 (6)
  377.                         ENDR
  378. ;  Values of OCE defined High Level Event message classes 
  379.  
  380. kMailEPPCCreateSlot                EQU        'crsl'
  381. kMailEPPCModifySlot                EQU        'mdsl'
  382. kMailEPPCDeleteSlot                EQU        'dlsl'
  383. kMailEPPCShutDown                EQU        'quit'
  384. kMailEPPCMailboxOpened            EQU        'mbop'
  385. kMailEPPCMailboxClosed            EQU        'mbcl'
  386. kMailEPPCMsgPending                EQU        'msgp'
  387. kMailEPPCSendImmediate            EQU        'sndi'
  388. kMailEPPCContinue                EQU        'cont'
  389. kMailEPPCSchedule                EQU        'sked'
  390. kMailEPPCAdmin                    EQU        'admn'
  391. kMailEPPCInQUpdate                EQU        'inqu'
  392. kMailEPPCMsgOpened                EQU        'msgo'
  393. kMailEPPCDeleteOutQMsg            EQU        'dlom'
  394. kMailEPPCWakeup                    EQU        'wkup'
  395. kMailEPPCLocationChanged        EQU        'locc'
  396. MailTimer                RECORD 0
  397. frequency                 ds.l    1                ; offset: $0 (0)        ;  how often to connect 
  398.                          ORG 0
  399. connectTime                 ds.l    1                ; offset: $0 (0)        ;  time since midnight 
  400. sizeof                     EQU *                    ; size:   $4 (4)
  401.                         ENDR
  402.  
  403. kMailTimerOff                    EQU        0                    ; control is off 
  404. kMailTimerTime                    EQU        1                    ; specifies connect time (relative to midnight) 
  405. kMailTimerFrequency                EQU        2                    ; specifies connect frequency 
  406. ; typedef Byte                             MailTimerKind
  407.  
  408. MailTimers                RECORD 0
  409. sendTimeKind             ds.b    1                ; offset: $0 (0)        ;  either kMailTimerTime or kMailTimerFrequency 
  410. receiveTimeKind             ds.b    1                ; offset: $1 (1)        ;  either kMailTimerTime or kMailTimerFrequency 
  411. send                     ds        MailTimer        ; offset: $2 (2)
  412. receive                     ds        MailTimer        ; offset: $6 (6)
  413. sizeof                     EQU *                    ; size:   $A (10)
  414.                         ENDR
  415. MailStandardSlotInfoAttribute RECORD 0
  416. version                     ds.w    1                ; offset: $0 (0)
  417. active                     ds.b    1                ; offset: $2 (2)        ;  active if MailLocationMask(i) is set 
  418. padByte                     ds.b    1                ; offset: $3 (3)
  419. sendReceiveTimer         ds        MailTimers        ; offset: $4 (4)
  420. sizeof                     EQU *                    ; size:   $E (14)
  421.                         ENDR
  422. PMSAMGetMSAMRecordPB    RECORD 0
  423. qLink                     ds.l    1                ; offset: $0 (0)
  424. reservedH1                 ds.l    1                ; offset: $4 (4)
  425. reservedH2                 ds.l    1                ; offset: $8 (8)
  426. ioCompletion             ds.l    1                ; offset: $C (12)
  427. ioResult                 ds.w    1                ; offset: $10 (16)
  428. saveA5                     ds.l    1                ; offset: $12 (18)
  429. reqCode                     ds.w    1                ; offset: $16 (22)
  430. msamCID                     ds        CreationID        ; offset: $18 (24)
  431. sizeof                     EQU *                    ; size:   $20 (32)
  432.                         ENDR
  433. PMSAMOpenQueuesPB        RECORD 0
  434. qLink                     ds.l    1                ; offset: $0 (0)
  435. reservedH1                 ds.l    1                ; offset: $4 (4)
  436. reservedH2                 ds.l    1                ; offset: $8 (8)
  437. ioCompletion             ds.l    1                ; offset: $C (12)
  438. ioResult                 ds.w    1                ; offset: $10 (16)
  439. saveA5                     ds.l    1                ; offset: $12 (18)
  440. reqCode                     ds.w    1                ; offset: $16 (22)
  441. inQueueRef                 ds.l    1                ; offset: $18 (24)
  442. outQueueRef                 ds.l    1                ; offset: $1C (28)
  443. msamSlotID                 ds.w    1                ; offset: $20 (32)
  444. filler                     ds.l    2                ; offset: $22 (34)
  445. sizeof                     EQU *                    ; size:   $2A (42)
  446.                         ENDR
  447. ; typedef unsigned short                 PMSAMStatus
  448.  
  449. ;  Values of PMSAMStatus 
  450.  
  451. kPMSAMStatusPending                EQU        1                    ; for inQueue and outQueue 
  452. kPMSAMStatusError                EQU        2                    ; for inQueue and outQueue 
  453. kPMSAMStatusSending                EQU        3                    ; for outQueue only 
  454. kPMSAMStatusCaching                EQU        4                    ; for inQueue only 
  455. kPMSAMStatusSent                EQU        5                    ; for outQueue only 
  456. PMSAMSetStatusPB        RECORD 0
  457. qLink                     ds.l    1                ; offset: $0 (0)
  458. reservedH1                 ds.l    1                ; offset: $4 (4)
  459. reservedH2                 ds.l    1                ; offset: $8 (8)
  460. ioCompletion             ds.l    1                ; offset: $C (12)
  461. ioResult                 ds.w    1                ; offset: $10 (16)
  462. saveA5                     ds.l    1                ; offset: $12 (18)
  463. reqCode                     ds.w    1                ; offset: $16 (22)
  464. queueRef                 ds.l    1                ; offset: $18 (24)
  465. seqNum                     ds.l    1                ; offset: $1C (28)
  466. msgHint                     ds.l    1                ; offset: $20 (32)        ;  for posting cache error,set this to 0 when report outq status 
  467. status                     ds.w    1                ; offset: $24 (36)
  468. sizeof                     EQU *                    ; size:   $26 (38)
  469.                         ENDR
  470. PMSAMLogErrorPB            RECORD 0
  471. qLink                     ds.l    1                ; offset: $0 (0)
  472. reservedH1                 ds.l    1                ; offset: $4 (4)
  473. reservedH2                 ds.l    1                ; offset: $8 (8)
  474. ioCompletion             ds.l    1                ; offset: $C (12)
  475. ioResult                 ds.w    1                ; offset: $10 (16)
  476. saveA5                     ds.l    1                ; offset: $12 (18)
  477. reqCode                     ds.w    1                ; offset: $16 (22)
  478. msamSlotID                 ds.w    1                ; offset: $18 (24)        ;  0 for PMSAM errors 
  479. logEntry                 ds.l    1                ; offset: $1A (26)
  480. filler                     ds.l    2                ; offset: $1E (30)
  481. sizeof                     EQU *                    ; size:   $26 (38)
  482.                         ENDR
  483. ; **************************************************************************************
  484.  
  485. kMailMsgSummaryVersion            EQU        1
  486. MailMasterData            RECORD 0
  487. attrMask                 ds.l    1                ; offset: $0 (0)        ;  indicates attributes present in MsgSummary 
  488. messageID                 ds        MailLetterID    ; offset: $4 (4)
  489. replyID                     ds        MailLetterID    ; offset: $14 (20)
  490. conversationID             ds        MailLetterID    ; offset: $24 (36)
  491. sizeof                     EQU *                    ; size:   $34 (52)
  492.                         ENDR
  493. ;  Values for addressedToMe in struct MailCoreData 
  494.  
  495. kAddressedAs_TO                    EQU        $01
  496. kAddressedAs_CC                    EQU        $02
  497. kAddressedAs_BCC                EQU        $04
  498. MailCoreData            RECORD 0
  499. letterFlags                 ds        MailLetterFlags ; offset: $0 (0)
  500. messageSize                 ds.l    1                ; offset: $4 (4)
  501. letterIndications         ds.l    1                ; offset: $8 (8)
  502. messageType                 ds        OCECreatorType ; offset: $C (12)
  503. sendTime                 ds        MailTime        ; offset: $14 (20)
  504. messageFamily             ds.l    1                ; offset: $1C (28)
  505. reserved                 ds.b    1                ; offset: $20 (32)
  506. addressedToMe             ds.b    1                ; offset: $21 (33)
  507. agentInfo                 ds.b    6                ; offset: $22 (34)        ;  6 bytes of special info [set to zero] 
  508. ;  these are variable length and even padded 
  509. sender                     ds        RString32        ; offset: $28 (40)        ;  recipient's entityName (trunc)
  510. subject                     ds        RString32        ; offset: $4C (76)        ;  subject maybe truncated 
  511. sizeof                     EQU *                    ; size:   $70 (112)
  512.                         ENDR
  513. MSAMMsgSummary            RECORD 0
  514. version                     ds.w    1                ; offset: $0 (0)        ;  following flags are defaulted by Toolbox 
  515. msgDeleted                 ds.b    1                ; offset: $2 (2)        ;  true if msg is to be deleted by PMSAM 
  516. msgUpdated                 ds.b    1                ; offset: $3 (3)        ;  true if msgSummary was updated by MailManager 
  517. msgCached                 ds.b    1                ; offset: $4 (4)        ;  true if msg is in the slot's InQueue 
  518. padByte                     ds.b    1                ; offset: $5 (5)
  519. masterData                 ds        MailMasterData ; offset: $6 (6)
  520. coreData                 ds        MailCoreData    ; offset: $3A (58)
  521. sizeof                     EQU *                    ; size:   $AA (170)
  522.                         ENDR
  523. ;  PMSAM can put up to 128 bytes of private msg summary data 
  524.  
  525. kMailMaxPMSAMMsgSummaryData        EQU        128
  526. PMSAMCreateMsgSummaryPB    RECORD 0
  527. qLink                     ds.l    1                ; offset: $0 (0)
  528. reservedH1                 ds.l    1                ; offset: $4 (4)
  529. reservedH2                 ds.l    1                ; offset: $8 (8)
  530. ioCompletion             ds.l    1                ; offset: $C (12)
  531. ioResult                 ds.w    1                ; offset: $10 (16)
  532. saveA5                     ds.l    1                ; offset: $12 (18)
  533. reqCode                     ds.w    1                ; offset: $16 (22)
  534. inQueueRef                 ds.l    1                ; offset: $18 (24)
  535. seqNum                     ds.l    1                ; offset: $1C (28)        ;  <- seq of the new message 
  536. msgSummary                 ds.l    1                ; offset: $20 (32)        ;  attributes and mask filled in 
  537. buffer                     ds.l    1                ; offset: $24 (36)        ;  PMSAM specific data to be appended 
  538. sizeof                     EQU *                    ; size:   $28 (40)
  539.                         ENDR
  540. PMSAMPutMsgSummaryPB    RECORD 0
  541. qLink                     ds.l    1                ; offset: $0 (0)
  542. reservedH1                 ds.l    1                ; offset: $4 (4)
  543. reservedH2                 ds.l    1                ; offset: $8 (8)
  544. ioCompletion             ds.l    1                ; offset: $C (12)
  545. ioResult                 ds.w    1                ; offset: $10 (16)
  546. saveA5                     ds.l    1                ; offset: $12 (18)
  547. reqCode                     ds.w    1                ; offset: $16 (22)
  548. inQueueRef                 ds.l    1                ; offset: $18 (24)
  549. seqNum                     ds.l    1                ; offset: $1C (28)
  550. letterFlags                 ds.l    1                ; offset: $20 (32)        ;  if not nil, then set msgStoreFlags 
  551. buffer                     ds.l    1                ; offset: $24 (36)        ;  PMSAM specific data to be overwritten 
  552. sizeof                     EQU *                    ; size:   $28 (40)
  553.                         ENDR
  554. PMSAMGetMsgSummaryPB    RECORD 0
  555. qLink                     ds.l    1                ; offset: $0 (0)
  556. reservedH1                 ds.l    1                ; offset: $4 (4)
  557. reservedH2                 ds.l    1                ; offset: $8 (8)
  558. ioCompletion             ds.l    1                ; offset: $C (12)
  559. ioResult                 ds.w    1                ; offset: $10 (16)
  560. saveA5                     ds.l    1                ; offset: $12 (18)
  561. reqCode                     ds.w    1                ; offset: $16 (22)
  562. inQueueRef                 ds.l    1                ; offset: $18 (24)
  563. seqNum                     ds.l    1                ; offset: $1C (28)
  564. msgSummary                 ds.l    1                ; offset: $20 (32)        ;  if not nil, then read in the msgSummary 
  565. buffer                     ds.l    1                ; offset: $24 (36)        ;  PMSAM specific data to be read 
  566. msgSummaryOffset         ds.w    1                ; offset: $28 (40)        ;  offset of PMSAM specific data from start of MsgSummary 
  567. sizeof                     EQU *                    ; size:   $2A (42)
  568.                         ENDR
  569. ; **************************************************************************************
  570. ;  Definitions for Server MSAMs 
  571. ; ************************************************************************************
  572. ; typedef unsigned short                 SMSAMAdminCode
  573.  
  574. ;  Values of SMSAMAdminCode 
  575.  
  576. kSMSAMNotifyFwdrSetupChange        EQU        1
  577. kSMSAMNotifyFwdrNameChange        EQU        2
  578. kSMSAMNotifyFwdrPwdChange        EQU        3
  579. kSMSAMGetDynamicFwdrParams        EQU        4
  580. ; typedef unsigned long                 SMSAMSlotChanges
  581.  
  582.  
  583. kSMSAMFwdrHomeInternetChangedBit EQU    0
  584. kSMSAMFwdrConnectedToChangedBit    EQU        1
  585. kSMSAMFwdrForeignRLIsChangedBit    EQU        2
  586. kSMSAMFwdrMnMServerChangedBit    EQU        3
  587. ;  Values of SMSAMSlotChanges 
  588.  
  589. kSMSAMFwdrEverythingChangedMask    EQU        -1
  590. kSMSAMFwdrHomeInternetChangedMask EQU    $00000001
  591. kSMSAMFwdrConnectedToChangedMask EQU    $00000002
  592. kSMSAMFwdrForeignRLIsChangedMask EQU    $00000004
  593. kSMSAMFwdrMnMServerChangedMask    EQU        $00000008
  594. ;  kSMSAMNotifyFwdrSetupChange 
  595. SMSAMSetupChange        RECORD 0
  596. whatChanged                 ds.l    1                ; offset: $0 (0)        ;   --> bitmap of what parameters changed 
  597. serverHint                 ds        AddrBlock        ; offset: $4 (4)        ;   --> try this ADAP server first 
  598. sizeof                     EQU *                    ; size:   $8 (8)
  599.                         ENDR
  600. ;  kSMSAMNotifyFwdrNameChange 
  601. SMSAMNameChange            RECORD 0
  602. newName                     ds        RString            ; offset: $0 (0)        ;   --> msams new name 
  603. serverHint                 ds        AddrBlock        ; offset: $104 (260)    ;   --> try this ADAP server first 
  604. sizeof                     EQU *                    ; size:   $108 (264)
  605.                         ENDR
  606. ;  kSMSAMNotifyFwdrPasswordChange 
  607. SMSAMPasswordChange        RECORD 0
  608. newPassword                 ds        RString            ; offset: $0 (0)        ;   --> msams new password 
  609. serverHint                 ds        AddrBlock        ; offset: $104 (260)    ;   --> try this ADAP server first 
  610. sizeof                     EQU *                    ; size:   $108 (264)
  611.                         ENDR
  612. ;  kSMSAMGetDynamicFwdrParams 
  613. SMSAMDynamicParams        RECORD 0
  614. curDiskUsed                 ds.l    1                ; offset: $0 (0)        ;  <--  amount of disk space used by msam 
  615. curMemoryUsed             ds.l    1                ; offset: $4 (4)        ;  <--  amount of memory used by msam 
  616. sizeof                     EQU *                    ; size:   $8 (8)
  617.                         ENDR
  618. SMSAMAdminEPPCRequest    RECORD 0
  619. adminCode                 ds.w    1                ; offset: $0 (0)
  620. setupChange                 ds        SMSAMSetupChange ; offset: $2 (2)
  621.                          ORG 2
  622. nameChange                 ds        SMSAMNameChange ; offset: $2 (2)
  623.                          ORG 2
  624. passwordChange             ds        SMSAMPasswordChange ; offset: $2 (2)
  625.                          ORG 2
  626. dynamicParams             ds        SMSAMDynamicParams ; offset: $2 (2)
  627.                          ORG 266
  628. sizeof                     EQU *                    ; size:   $10A (266)
  629.                         ENDR
  630. SMSAMSetupPB            RECORD 0
  631. qLink                     ds.l    1                ; offset: $0 (0)
  632. reservedH1                 ds.l    1                ; offset: $4 (4)
  633. reservedH2                 ds.l    1                ; offset: $8 (8)
  634. ioCompletion             ds.l    1                ; offset: $C (12)
  635. ioResult                 ds.w    1                ; offset: $10 (16)
  636. saveA5                     ds.l    1                ; offset: $12 (18)
  637. reqCode                     ds.w    1                ; offset: $16 (22)
  638. serverMSAM                 ds.l    1                ; offset: $18 (24)
  639. password                 ds.l    1                ; offset: $1C (28)
  640. gatewayType                 ds.l    1                ; offset: $20 (32)
  641. gatewayTypeDescription     ds.l    1                ; offset: $24 (36)
  642. catalogServerHint         ds        AddrBlock        ; offset: $28 (40)
  643. sizeof                     EQU *                    ; size:   $2C (44)
  644.                         ENDR
  645. SMSAMStartupPB            RECORD 0
  646. qLink                     ds.l    1                ; offset: $0 (0)
  647. reservedH1                 ds.l    1                ; offset: $4 (4)
  648. reservedH2                 ds.l    1                ; offset: $8 (8)
  649. ioCompletion             ds.l    1                ; offset: $C (12)
  650. ioResult                 ds.w    1                ; offset: $10 (16)
  651. saveA5                     ds.l    1                ; offset: $12 (18)
  652. reqCode                     ds.w    1                ; offset: $16 (22)
  653. msamIdentity             ds.l    1                ; offset: $18 (24)
  654. queueRef                 ds.l    1                ; offset: $1C (28)
  655. sizeof                     EQU *                    ; size:   $20 (32)
  656.                         ENDR
  657. SMSAMShutdownPB            RECORD 0
  658. qLink                     ds.l    1                ; offset: $0 (0)
  659. reservedH1                 ds.l    1                ; offset: $4 (4)
  660. reservedH2                 ds.l    1                ; offset: $8 (8)
  661. ioCompletion             ds.l    1                ; offset: $C (12)
  662. ioResult                 ds.w    1                ; offset: $10 (16)
  663. saveA5                     ds.l    1                ; offset: $12 (18)
  664. reqCode                     ds.w    1                ; offset: $16 (22)
  665. queueRef                 ds.l    1                ; offset: $18 (24)
  666. sizeof                     EQU *                    ; size:   $1C (28)
  667.                         ENDR
  668. ; **************************************************************************************
  669. ;  Definitions for reading and writing MSAM Letters 
  670. ; **************************************************************************************
  671. MSAMEnumeratePB            RECORD 0
  672. qLink                     ds.l    1                ; offset: $0 (0)
  673. reservedH1                 ds.l    1                ; offset: $4 (4)
  674. reservedH2                 ds.l    1                ; offset: $8 (8)
  675. ioCompletion             ds.l    1                ; offset: $C (12)
  676. ioResult                 ds.w    1                ; offset: $10 (16)
  677. saveA5                     ds.l    1                ; offset: $12 (18)
  678. reqCode                     ds.w    1                ; offset: $16 (22)
  679. queueRef                 ds.l    1                ; offset: $18 (24)
  680. startSeqNum                 ds.l    1                ; offset: $1C (28)
  681. nextSeqNum                 ds.l    1                ; offset: $20 (32)
  682. ;  buffer contains a Mail Reply. Each tuple is a MSAMEnumerateInQReply when enumerating the inQueue MSAMEnumerateOutQReply when enumerating the outQueue 
  683. buffer                     ds        MailBuffer        ; offset: $24 (36)
  684. sizeof                     EQU *                    ; size:   $30 (48)
  685.                         ENDR
  686. MSAMEnumerateInQReply    RECORD 0
  687. seqNum                     ds.l    1                ; offset: $0 (0)
  688. msgDeleted                 ds.b    1                ; offset: $4 (4)        ;  true if msg is to be deleted by PMSAM 
  689. msgUpdated                 ds.b    1                ; offset: $5 (5)        ;  true if MsgSummary has been updated by TB 
  690. msgCached                 ds.b    1                ; offset: $6 (6)        ;  true if msg is in the incoming queue 
  691. padByte                     ds.b    1                ; offset: $7 (7)
  692. sizeof                     EQU *                    ; size:   $8 (8)
  693.                         ENDR
  694. MSAMEnumerateOutQReply    RECORD 0
  695. seqNum                     ds.l    1                ; offset: $0 (0)
  696. done                     ds.b    1                ; offset: $4 (4)        ;  true if all responsible recipients have been processed 
  697. priority                 ds.b    1                ; offset: $5 (5)
  698. msgFamily                 ds.l    1                ; offset: $6 (6)
  699. approxSize                 ds.l    1                ; offset: $A (10)
  700. tunnelForm                 ds.b    1                ; offset: $E (14)        ;  true if this letter has to be tunnelled 
  701. padByte                     ds.b    1                ; offset: $F (15)
  702. nextHop                     ds        NetworkSpec        ; offset: $10 (16)        ;  valid if tunnelForm is true 
  703. msgType                     ds        OCECreatorType ; offset: $34 (52)
  704. sizeof                     EQU *                    ; size:   $3C (60)
  705.                         ENDR
  706. MSAMDeletePB            RECORD 0
  707. qLink                     ds.l    1                ; offset: $0 (0)
  708. reservedH1                 ds.l    1                ; offset: $4 (4)
  709. reservedH2                 ds.l    1                ; offset: $8 (8)
  710. ioCompletion             ds.l    1                ; offset: $C (12)
  711. ioResult                 ds.w    1                ; offset: $10 (16)
  712. saveA5                     ds.l    1                ; offset: $12 (18)
  713. reqCode                     ds.w    1                ; offset: $16 (22)
  714. queueRef                 ds.l    1                ; offset: $18 (24)
  715. seqNum                     ds.l    1                ; offset: $1C (28)
  716. msgOnly                     ds.b    1                ; offset: $20 (32)        ;  only valid for PMSAM & inQueue 
  717. ;  set true to delete message but not msgSummary 
  718. padByte                     ds.b    1                ; offset: $21 (33)
  719. ;  only valid for SMSAM & tunnelled messages 
  720. result                     ds.w    1                ; offset: $22 (34)
  721. sizeof                     EQU *                    ; size:   $24 (36)
  722.                         ENDR
  723. MSAMOpenPB                RECORD 0
  724. qLink                     ds.l    1                ; offset: $0 (0)
  725. reservedH1                 ds.l    1                ; offset: $4 (4)
  726. reservedH2                 ds.l    1                ; offset: $8 (8)
  727. ioCompletion             ds.l    1                ; offset: $C (12)
  728. ioResult                 ds.w    1                ; offset: $10 (16)
  729. saveA5                     ds.l    1                ; offset: $12 (18)
  730. reqCode                     ds.w    1                ; offset: $16 (22)
  731. queueRef                 ds.l    1                ; offset: $18 (24)
  732. seqNum                     ds.l    1                ; offset: $1C (28)
  733. mailMsgRef                 ds.l    1                ; offset: $20 (32)
  734. sizeof                     EQU *                    ; size:   $24 (36)
  735.                         ENDR
  736. MSAMOpenNestedPB        RECORD 0
  737. qLink                     ds.l    1                ; offset: $0 (0)
  738. reservedH1                 ds.l    1                ; offset: $4 (4)
  739. reservedH2                 ds.l    1                ; offset: $8 (8)
  740. ioCompletion             ds.l    1                ; offset: $C (12)
  741. ioResult                 ds.w    1                ; offset: $10 (16)
  742. saveA5                     ds.l    1                ; offset: $12 (18)
  743. reqCode                     ds.w    1                ; offset: $16 (22)
  744. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  745. nestedRef                 ds.l    1                ; offset: $1C (28)
  746. sizeof                     EQU *                    ; size:   $20 (32)
  747.                         ENDR
  748. MSAMClosePB                RECORD 0
  749. qLink                     ds.l    1                ; offset: $0 (0)
  750. reservedH1                 ds.l    1                ; offset: $4 (4)
  751. reservedH2                 ds.l    1                ; offset: $8 (8)
  752. ioCompletion             ds.l    1                ; offset: $C (12)
  753. ioResult                 ds.w    1                ; offset: $10 (16)
  754. saveA5                     ds.l    1                ; offset: $12 (18)
  755. reqCode                     ds.w    1                ; offset: $16 (22)
  756. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  757. sizeof                     EQU *                    ; size:   $1C (28)
  758.                         ENDR
  759. MSAMGetMsgHeaderPB        RECORD 0
  760. qLink                     ds.l    1                ; offset: $0 (0)
  761. reservedH1                 ds.l    1                ; offset: $4 (4)
  762. reservedH2                 ds.l    1                ; offset: $8 (8)
  763. ioCompletion             ds.l    1                ; offset: $C (12)
  764. ioResult                 ds.w    1                ; offset: $10 (16)
  765. saveA5                     ds.l    1                ; offset: $12 (18)
  766. reqCode                     ds.w    1                ; offset: $16 (22)
  767. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  768. selector                 ds.b    1                ; offset: $1C (28)
  769. filler1                     ds.b    1                ; offset: $1D (29)
  770. offset                     ds.l    1                ; offset: $1E (30)
  771. buffer                     ds        MailBuffer        ; offset: $22 (34)
  772. remaining                 ds.l    1                ; offset: $2E (46)
  773. sizeof                     EQU *                    ; size:   $32 (50)
  774.                         ENDR
  775. ;
  776. ;    MSAMGetAttributesPB.buffer returned will contain the attribute values of 
  777. ;    the attributes indicated in responseMask, 
  778. ;    from the attribute indicated by the least significant bit set
  779. ;    to the attribute indicated by the most significant bit set.
  780. ;    Note that recipients - from, to, cc, bcc cannot be read using
  781. ;    this call. Use GetRecipients to read these. 
  782. ;
  783. MSAMGetAttributesPB        RECORD 0
  784. qLink                     ds.l    1                ; offset: $0 (0)
  785. reservedH1                 ds.l    1                ; offset: $4 (4)
  786. reservedH2                 ds.l    1                ; offset: $8 (8)
  787. ioCompletion             ds.l    1                ; offset: $C (12)
  788. ioResult                 ds.w    1                ; offset: $10 (16)
  789. saveA5                     ds.l    1                ; offset: $12 (18)
  790. reqCode                     ds.w    1                ; offset: $16 (22)
  791. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  792. requestMask                 ds.l    1                ; offset: $1C (28)        ;  kMailIndicationsBit thru kMailSubjectBit 
  793. buffer                     ds        MailBuffer        ; offset: $20 (32)
  794. responseMask             ds.l    1                ; offset: $2C (44)
  795. more                     ds.b    1                ; offset: $30 (48)
  796. filler1                     ds.b    1                ; offset: $31 (49)
  797. sizeof                     EQU *                    ; size:   $32 (50)
  798.                         ENDR
  799. ;  attrID value to get resolved recipient list 
  800.  
  801. kMailResolvedList                EQU        0
  802. MailOriginalRecipient    RECORD 0
  803. index                     ds.w    1                ; offset: $0 (0)
  804. sizeof                     EQU *                    ; size:   $2 (2)
  805.                         ENDR
  806. ;  Followed by OCEPackedRecipient 
  807. MailResolvedRecipient    RECORD 0
  808. index                     ds.w    1                ; offset: $0 (0)
  809. recipientFlags             ds.w    1                ; offset: $2 (2)
  810. responsible                 ds.b    1                ; offset: $4 (4)
  811. padByte                     ds.b    1                ; offset: $5 (5)
  812. sizeof                     EQU *                    ; size:   $6 (6)
  813.                         ENDR
  814. ;  Followed by OCEPackedRecipient 
  815. ;
  816. ;     MSAMGetRecipientsPB.buffer contains a Mail Reply. Each tuple is a
  817. ;    MailOriginalRecipient if getting original recipients 
  818. ;                            ie the attrID is kMail[From, To, Cc, Bcc]Bit
  819. ;    MailResolvedRecipient if getting resolved reicpients
  820. ;                            ie the attrID is kMailResolvedList
  821. ;    Both tuples are word alligned.  
  822. ;
  823. MSAMGetRecipientsPB        RECORD 0
  824. qLink                     ds.l    1                ; offset: $0 (0)
  825. reservedH1                 ds.l    1                ; offset: $4 (4)
  826. reservedH2                 ds.l    1                ; offset: $8 (8)
  827. ioCompletion             ds.l    1                ; offset: $C (12)
  828. ioResult                 ds.w    1                ; offset: $10 (16)
  829. saveA5                     ds.l    1                ; offset: $12 (18)
  830. reqCode                     ds.w    1                ; offset: $16 (22)
  831. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  832. attrID                     ds.w    1                ; offset: $1C (28)        ;  kMailFromBit thru kMailBccBit 
  833. startIndex                 ds.w    1                ; offset: $1E (30)        ;  starts at 1 
  834. buffer                     ds        MailBuffer        ; offset: $20 (32)
  835. nextIndex                 ds.w    1                ; offset: $2C (44)
  836. more                     ds.b    1                ; offset: $2E (46)
  837. filler1                     ds.b    1                ; offset: $2F (47)
  838. sizeof                     EQU *                    ; size:   $30 (48)
  839.                         ENDR
  840. MSAMGetContentPB        RECORD 0
  841. qLink                     ds.l    1                ; offset: $0 (0)
  842. reservedH1                 ds.l    1                ; offset: $4 (4)
  843. reservedH2                 ds.l    1                ; offset: $8 (8)
  844. ioCompletion             ds.l    1                ; offset: $C (12)
  845. ioResult                 ds.w    1                ; offset: $10 (16)
  846. saveA5                     ds.l    1                ; offset: $12 (18)
  847. reqCode                     ds.w    1                ; offset: $16 (22)
  848. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  849. segmentMask                 ds.w    1                ; offset: $1C (28)
  850. buffer                     ds        MailBuffer        ; offset: $1E (30)
  851. textScrap                 ds.l    1                ; offset: $2A (42)
  852. script                     ds.w    1                ; offset: $2E (46)
  853. segmentType                 ds.w    1                ; offset: $30 (48)
  854. endOfScript                 ds.b    1                ; offset: $32 (50)
  855. endOfSegment             ds.b    1                ; offset: $33 (51)
  856. endOfContent             ds.b    1                ; offset: $34 (52)
  857. filler1                     ds.b    1                ; offset: $35 (53)
  858. segmentLength             ds.l    1                ; offset: $36 (54)        ;  NEW: <-  valid first call in a segment 
  859. segmentID                 ds.l    1                ; offset: $3A (58)        ;  NEW: <-> identifier for this segment 
  860. sizeof                     EQU *                    ; size:   $3E (62)
  861.                         ENDR
  862. MSAMGetEnclosurePB        RECORD 0
  863. qLink                     ds.l    1                ; offset: $0 (0)
  864. reservedH1                 ds.l    1                ; offset: $4 (4)
  865. reservedH2                 ds.l    1                ; offset: $8 (8)
  866. ioCompletion             ds.l    1                ; offset: $C (12)
  867. ioResult                 ds.w    1                ; offset: $10 (16)
  868. saveA5                     ds.l    1                ; offset: $12 (18)
  869. reqCode                     ds.w    1                ; offset: $16 (22)
  870. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  871. contentEnclosure         ds.b    1                ; offset: $1C (28)
  872. padByte                     ds.b    1                ; offset: $1D (29)
  873. buffer                     ds        MailBuffer        ; offset: $1E (30)
  874. endOfFile                 ds.b    1                ; offset: $2A (42)
  875. endOfEnclosures             ds.b    1                ; offset: $2B (43)
  876. sizeof                     EQU *                    ; size:   $2C (44)
  877.                         ENDR
  878. MailBlockInfo            RECORD 0
  879. blockType                 ds        OCECreatorType ; offset: $0 (0)
  880. offset                     ds.l    1                ; offset: $8 (8)
  881. blockLength                 ds.l    1                ; offset: $C (12)
  882. sizeof                     EQU *                    ; size:   $10 (16)
  883.                         ENDR
  884. MSAMEnumerateBlocksPB    RECORD 0
  885. qLink                     ds.l    1                ; offset: $0 (0)
  886. reservedH1                 ds.l    1                ; offset: $4 (4)
  887. reservedH2                 ds.l    1                ; offset: $8 (8)
  888. ioCompletion             ds.l    1                ; offset: $C (12)
  889. ioResult                 ds.w    1                ; offset: $10 (16)
  890. saveA5                     ds.l    1                ; offset: $12 (18)
  891. reqCode                     ds.w    1                ; offset: $16 (22)
  892. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  893. startIndex                 ds.w    1                ; offset: $1C (28)        ;  starts at 1 
  894. buffer                     ds        MailBuffer        ; offset: $1E (30)
  895. ;      buffer contains a Mail Reply. Each tuple is a MailBlockInfo 
  896. nextIndex                 ds.w    1                ; offset: $2A (42)
  897. more                     ds.b    1                ; offset: $2C (44)
  898. filler1                     ds.b    1                ; offset: $2D (45)
  899. sizeof                     EQU *                    ; size:   $2E (46)
  900.                         ENDR
  901. MSAMGetBlockPB            RECORD 0
  902. qLink                     ds.l    1                ; offset: $0 (0)
  903. reservedH1                 ds.l    1                ; offset: $4 (4)
  904. reservedH2                 ds.l    1                ; offset: $8 (8)
  905. ioCompletion             ds.l    1                ; offset: $C (12)
  906. ioResult                 ds.w    1                ; offset: $10 (16)
  907. saveA5                     ds.l    1                ; offset: $12 (18)
  908. reqCode                     ds.w    1                ; offset: $16 (22)
  909. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  910. blockType                 ds        OCECreatorType ; offset: $1C (28)
  911. blockIndex                 ds.w    1                ; offset: $24 (36)
  912. buffer                     ds        MailBuffer        ; offset: $26 (38)
  913. dataOffset                 ds.l    1                ; offset: $32 (50)
  914. endOfBlock                 ds.b    1                ; offset: $36 (54)
  915. padByte                     ds.b    1                ; offset: $37 (55)
  916. remaining                 ds.l    1                ; offset: $38 (56)
  917. sizeof                     EQU *                    ; size:   $3C (60)
  918.                         ENDR
  919. ;
  920. ; YOU SHOULD BE USING THE NEW FORM OF MARK RECIPIENTS
  921. ; * THIS VERSION IS MUCH SLOWER AND KEPT FOR COMPATIBILITY
  922. ; * REASONS.
  923. ;
  924. ;  not valid for tunnel form letters 
  925. MSAMMarkRecipientsPB    RECORD 0
  926. qLink                     ds.l    1                ; offset: $0 (0)
  927. reservedH1                 ds.l    1                ; offset: $4 (4)
  928. reservedH2                 ds.l    1                ; offset: $8 (8)
  929. ioCompletion             ds.l    1                ; offset: $C (12)
  930. ioResult                 ds.w    1                ; offset: $10 (16)
  931. saveA5                     ds.l    1                ; offset: $12 (18)
  932. reqCode                     ds.w    1                ; offset: $16 (22)
  933. queueRef                 ds.l    1                ; offset: $18 (24)
  934. seqNum                     ds.l    1                ; offset: $1C (28)
  935. buffer                     ds        MailBuffer        ; offset: $20 (32)        ;      buffer contains a Mail Reply. Each tuple is an unsigned short, the index of a recipient to be marked. 
  936. sizeof                     EQU *                    ; size:   $2C (44)
  937.                         ENDR
  938. ;
  939. ; * same as MSAMMarkRecipients except it takes a mailMsgRef instead of 
  940. ; * queueRef, seqNum 
  941. ;
  942. ;  not valid for tunnel form letters 
  943. MSAMnMarkRecipientsPB    RECORD 0
  944. qLink                     ds.l    1                ; offset: $0 (0)
  945. reservedH1                 ds.l    1                ; offset: $4 (4)
  946. reservedH2                 ds.l    1                ; offset: $8 (8)
  947. ioCompletion             ds.l    1                ; offset: $C (12)
  948. ioResult                 ds.w    1                ; offset: $10 (16)
  949. saveA5                     ds.l    1                ; offset: $12 (18)
  950. reqCode                     ds.w    1                ; offset: $16 (22)
  951. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  952. buffer                     ds        MailBuffer        ; offset: $1C (28)        ;      buffer contains a Mail Reply. Each tuple is an unsigned short, the index of a recipient to be marked. 
  953. sizeof                     EQU *                    ; size:   $28 (40)
  954.                         ENDR
  955. ; **************************************************************************************
  956. MSAMCreatePB            RECORD 0
  957. qLink                     ds.l    1                ; offset: $0 (0)
  958. reservedH1                 ds.l    1                ; offset: $4 (4)
  959. reservedH2                 ds.l    1                ; offset: $8 (8)
  960. ioCompletion             ds.l    1                ; offset: $C (12)
  961. ioResult                 ds.w    1                ; offset: $10 (16)
  962. saveA5                     ds.l    1                ; offset: $12 (18)
  963. reqCode                     ds.w    1                ; offset: $16 (22)
  964. queueRef                 ds.l    1                ; offset: $18 (24)
  965. asLetter                 ds.b    1                ; offset: $1C (28)        ;  indicate if we should create as letter or msg 
  966. filler1                     ds.b    1                ; offset: $1D (29)
  967. msgType                     ds        IPMMsgType        ; offset: $1E (30)        ;  up to application discretion: must be of IPMSenderTag  kIPMOSFormatType for asLetter=true 
  968. refCon                     ds.l    1                ; offset: $42 (66)        ;  for messages only 
  969. seqNum                     ds.l    1                ; offset: $46 (70)        ;  set if creating message in the inQueue 
  970. tunnelForm                 ds.b    1                ; offset: $4A (74)        ;  if true tunnelForm else newForm 
  971. bccRecipients             ds.b    1                ; offset: $4B (75)        ;  true if creating letter with bcc recipients 
  972. newRef                     ds.l    1                ; offset: $4C (76)
  973. sizeof                     EQU *                    ; size:   $50 (80)
  974.                         ENDR
  975. MSAMBeginNestedPB        RECORD 0
  976. qLink                     ds.l    1                ; offset: $0 (0)
  977. reservedH1                 ds.l    1                ; offset: $4 (4)
  978. reservedH2                 ds.l    1                ; offset: $8 (8)
  979. ioCompletion             ds.l    1                ; offset: $C (12)
  980. ioResult                 ds.w    1                ; offset: $10 (16)
  981. saveA5                     ds.l    1                ; offset: $12 (18)
  982. reqCode                     ds.w    1                ; offset: $16 (22)
  983. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  984. refCon                     ds.l    1                ; offset: $1C (28)        ;  for messages only 
  985. msgType                     ds        IPMMsgType        ; offset: $20 (32)
  986. sizeof                     EQU *                    ; size:   $44 (68)
  987.                         ENDR
  988. MSAMEndNestedPB            RECORD 0
  989. qLink                     ds.l    1                ; offset: $0 (0)
  990. reservedH1                 ds.l    1                ; offset: $4 (4)
  991. reservedH2                 ds.l    1                ; offset: $8 (8)
  992. ioCompletion             ds.l    1                ; offset: $C (12)
  993. ioResult                 ds.w    1                ; offset: $10 (16)
  994. saveA5                     ds.l    1                ; offset: $12 (18)
  995. reqCode                     ds.w    1                ; offset: $16 (22)
  996. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  997. sizeof                     EQU *                    ; size:   $1C (28)
  998.                         ENDR
  999. MSAMSubmitPB            RECORD 0
  1000. qLink                     ds.l    1                ; offset: $0 (0)
  1001. reservedH1                 ds.l    1                ; offset: $4 (4)
  1002. reservedH2                 ds.l    1                ; offset: $8 (8)
  1003. ioCompletion             ds.l    1                ; offset: $C (12)
  1004. ioResult                 ds.w    1                ; offset: $10 (16)
  1005. saveA5                     ds.l    1                ; offset: $12 (18)
  1006. reqCode                     ds.w    1                ; offset: $16 (22)
  1007. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  1008. submitFlag                 ds.b    1                ; offset: $1C (28)
  1009. padByte                     ds.b    1                ; offset: $1D (29)
  1010. msgID                     ds        MailLetterID    ; offset: $1E (30)
  1011. sizeof                     EQU *                    ; size:   $2E (46)
  1012.                         ENDR
  1013. MSAMPutMsgHeaderPB        RECORD 0
  1014. qLink                     ds.l    1                ; offset: $0 (0)
  1015. reservedH1                 ds.l    1                ; offset: $4 (4)
  1016. reservedH2                 ds.l    1                ; offset: $8 (8)
  1017. ioCompletion             ds.l    1                ; offset: $C (12)
  1018. ioResult                 ds.w    1                ; offset: $10 (16)
  1019. saveA5                     ds.l    1                ; offset: $12 (18)
  1020. reqCode                     ds.w    1                ; offset: $16 (22)
  1021. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  1022. replyQueue                 ds.l    1                ; offset: $1C (28)
  1023. sender                     ds.l    1                ; offset: $20 (32)
  1024. deliveryNotification     ds.b    1                ; offset: $24 (36)
  1025. priority                 ds.b    1                ; offset: $25 (37)
  1026. sizeof                     EQU *                    ; size:   $26 (38)
  1027.                         ENDR
  1028. MSAMPutAttributePB        RECORD 0
  1029. qLink                     ds.l    1                ; offset: $0 (0)
  1030. reservedH1                 ds.l    1                ; offset: $4 (4)
  1031. reservedH2                 ds.l    1                ; offset: $8 (8)
  1032. ioCompletion             ds.l    1                ; offset: $C (12)
  1033. ioResult                 ds.w    1                ; offset: $10 (16)
  1034. saveA5                     ds.l    1                ; offset: $12 (18)
  1035. reqCode                     ds.w    1                ; offset: $16 (22)
  1036. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  1037. attrID                     ds.w    1                ; offset: $1C (28)        ;  kMailIndicationsBit thru kMailSubjectBit 
  1038. buffer                     ds        MailBuffer        ; offset: $1E (30)
  1039. sizeof                     EQU *                    ; size:   $2A (42)
  1040.                         ENDR
  1041. MSAMPutRecipientPB        RECORD 0
  1042. qLink                     ds.l    1                ; offset: $0 (0)
  1043. reservedH1                 ds.l    1                ; offset: $4 (4)
  1044. reservedH2                 ds.l    1                ; offset: $8 (8)
  1045. ioCompletion             ds.l    1                ; offset: $C (12)
  1046. ioResult                 ds.w    1                ; offset: $10 (16)
  1047. saveA5                     ds.l    1                ; offset: $12 (18)
  1048. reqCode                     ds.w    1                ; offset: $16 (22)
  1049. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  1050. attrID                     ds.w    1                ; offset: $1C (28)        ;  kMailFromBit thru kMailBccBit 
  1051. recipient                 ds.l    1                ; offset: $1E (30)
  1052. responsible                 ds.b    1                ; offset: $22 (34)        ;  valid for server and message msams only 
  1053. filler1                     ds.b    1                ; offset: $23 (35)
  1054. sizeof                     EQU *                    ; size:   $24 (36)
  1055.                         ENDR
  1056. MSAMPutContentPB        RECORD 0
  1057. qLink                     ds.l    1                ; offset: $0 (0)
  1058. reservedH1                 ds.l    1                ; offset: $4 (4)
  1059. reservedH2                 ds.l    1                ; offset: $8 (8)
  1060. ioCompletion             ds.l    1                ; offset: $C (12)
  1061. ioResult                 ds.w    1                ; offset: $10 (16)
  1062. saveA5                     ds.l    1                ; offset: $12 (18)
  1063. reqCode                     ds.w    1                ; offset: $16 (22)
  1064. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  1065. segmentType                 ds.w    1                ; offset: $1C (28)
  1066. append                     ds.b    1                ; offset: $1E (30)
  1067. padByte                     ds.b    1                ; offset: $1F (31)
  1068. buffer                     ds        MailBuffer        ; offset: $20 (32)
  1069. textScrap                 ds.l    1                ; offset: $2C (44)
  1070. startNewScript             ds.b    1                ; offset: $30 (48)
  1071. filler1                     ds.b    1                ; offset: $31 (49)
  1072. script                     ds.w    1                ; offset: $32 (50)        ;  valid only if startNewScript is true 
  1073. sizeof                     EQU *                    ; size:   $34 (52)
  1074.                         ENDR
  1075. MSAMPutEnclosurePB        RECORD 0
  1076. qLink                     ds.l    1                ; offset: $0 (0)
  1077. reservedH1                 ds.l    1                ; offset: $4 (4)
  1078. reservedH2                 ds.l    1                ; offset: $8 (8)
  1079. ioCompletion             ds.l    1                ; offset: $C (12)
  1080. ioResult                 ds.w    1                ; offset: $10 (16)
  1081. saveA5                     ds.l    1                ; offset: $12 (18)
  1082. reqCode                     ds.w    1                ; offset: $16 (22)
  1083. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  1084. contentEnclosure         ds.b    1                ; offset: $1C (28)
  1085. padByte                     ds.b    1                ; offset: $1D (29)
  1086. hfs                         ds.b    1                ; offset: $1E (30)        ;  true => in file system, false => in memory 
  1087. append                     ds.b    1                ; offset: $1F (31)
  1088. buffer                     ds        MailBuffer        ; offset: $20 (32)        ;  Unused if hfs == true 
  1089. enclosure                 ds        FSSpec            ; offset: $2C (44)
  1090. addlInfo                 ds        MailEnclosureInfo ; offset: $72 (114)
  1091. sizeof                     EQU *                    ; size:   $82 (130)
  1092.                         ENDR
  1093. MSAMPutBlockPB            RECORD 0
  1094. qLink                     ds.l    1                ; offset: $0 (0)
  1095. reservedH1                 ds.l    1                ; offset: $4 (4)
  1096. reservedH2                 ds.l    1                ; offset: $8 (8)
  1097. ioCompletion             ds.l    1                ; offset: $C (12)
  1098. ioResult                 ds.w    1                ; offset: $10 (16)
  1099. saveA5                     ds.l    1                ; offset: $12 (18)
  1100. reqCode                     ds.w    1                ; offset: $16 (22)
  1101. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  1102. refCon                     ds.l    1                ; offset: $1C (28)        ;  for messages only 
  1103. blockType                 ds        OCECreatorType ; offset: $20 (32)
  1104. append                     ds.b    1                ; offset: $28 (40)
  1105. filler1                     ds.b    1                ; offset: $29 (41)
  1106. buffer                     ds        MailBuffer        ; offset: $2A (42)
  1107. mode                     ds.w    1                ; offset: $36 (54)        ;  if blockType is kMailTunnelLtrType or kMailHopInfoType  mode is assumed to be kMailFromMark 
  1108. offset                     ds.l    1                ; offset: $38 (56)
  1109. sizeof                     EQU *                    ; size:   $3C (60)
  1110.                         ENDR
  1111. ; **************************************************************************************
  1112. MSAMCreateReportPB        RECORD 0
  1113. qLink                     ds.l    1                ; offset: $0 (0)
  1114. reservedH1                 ds.l    1                ; offset: $4 (4)
  1115. reservedH2                 ds.l    1                ; offset: $8 (8)
  1116. ioCompletion             ds.l    1                ; offset: $C (12)
  1117. ioResult                 ds.w    1                ; offset: $10 (16)
  1118. saveA5                     ds.l    1                ; offset: $12 (18)
  1119. reqCode                     ds.w    1                ; offset: $16 (22)
  1120. queueRef                 ds.l    1                ; offset: $18 (24)        ;  to distinguish personal and server MSAMs 
  1121. mailMsgRef                 ds.l    1                ; offset: $1C (28)
  1122. msgID                     ds        MailLetterID    ; offset: $20 (32)        ;  kMailLetterIDBit of letter being reported upon 
  1123. sender                     ds.l    1                ; offset: $30 (48)        ;  sender of the letter you are creating report on 
  1124. sizeof                     EQU *                    ; size:   $34 (52)
  1125.                         ENDR
  1126. MSAMPutRecipientReportPB RECORD 0
  1127. qLink                     ds.l    1                ; offset: $0 (0)
  1128. reservedH1                 ds.l    1                ; offset: $4 (4)
  1129. reservedH2                 ds.l    1                ; offset: $8 (8)
  1130. ioCompletion             ds.l    1                ; offset: $C (12)
  1131. ioResult                 ds.w    1                ; offset: $10 (16)
  1132. saveA5                     ds.l    1                ; offset: $12 (18)
  1133. reqCode                     ds.w    1                ; offset: $16 (22)
  1134. mailMsgRef                 ds.l    1                ; offset: $18 (24)
  1135. recipientIndex             ds.w    1                ; offset: $1C (28)        ;  recipient index in the original letter 
  1136. result                     ds.w    1                ; offset: $1E (30)        ;  result of sending the recipient 
  1137. sizeof                     EQU *                    ; size:   $20 (32)
  1138.                         ENDR
  1139. ; **************************************************************************************
  1140. MailWakeupPMSAMPB        RECORD 0
  1141. qLink                     ds.l    1                ; offset: $0 (0)
  1142. reservedH1                 ds.l    1                ; offset: $4 (4)
  1143. reservedH2                 ds.l    1                ; offset: $8 (8)
  1144. ioCompletion             ds.l    1                ; offset: $C (12)
  1145. ioResult                 ds.w    1                ; offset: $10 (16)
  1146. saveA5                     ds.l    1                ; offset: $12 (18)
  1147. reqCode                     ds.w    1                ; offset: $16 (22)
  1148. pmsamCID                 ds        CreationID        ; offset: $18 (24)
  1149. mailSlotID                 ds.w    1                ; offset: $20 (32)
  1150. sizeof                     EQU *                    ; size:   $22 (34)
  1151.                         ENDR
  1152. MailCreateMailSlotPB    RECORD 0
  1153. qLink                     ds.l    1                ; offset: $0 (0)
  1154. reservedH1                 ds.l    1                ; offset: $4 (4)
  1155. reservedH2                 ds.l    1                ; offset: $8 (8)
  1156. ioCompletion             ds.l    1                ; offset: $C (12)
  1157. ioResult                 ds.w    1                ; offset: $10 (16)
  1158. saveA5                     ds.l    1                ; offset: $12 (18)
  1159. reqCode                     ds.w    1                ; offset: $16 (22)
  1160. mailboxRef                 ds.l    1                ; offset: $18 (24)
  1161. timeout                     ds.l    1                ; offset: $1C (28)
  1162. pmsamCID                 ds        CreationID        ; offset: $20 (32)
  1163. smca                     ds        SMCA            ; offset: $28 (40)
  1164. sizeof                     EQU *                    ; size:   $38 (56)
  1165.                         ENDR
  1166. MailModifyMailSlotPB    RECORD 0
  1167. qLink                     ds.l    1                ; offset: $0 (0)
  1168. reservedH1                 ds.l    1                ; offset: $4 (4)
  1169. reservedH2                 ds.l    1                ; offset: $8 (8)
  1170. ioCompletion             ds.l    1                ; offset: $C (12)
  1171. ioResult                 ds.w    1                ; offset: $10 (16)
  1172. saveA5                     ds.l    1                ; offset: $12 (18)
  1173. reqCode                     ds.w    1                ; offset: $16 (22)
  1174. mailboxRef                 ds.l    1                ; offset: $18 (24)
  1175. timeout                     ds.l    1                ; offset: $1C (28)
  1176. pmsamCID                 ds        CreationID        ; offset: $20 (32)
  1177. smca                     ds        SMCA            ; offset: $28 (40)
  1178. sizeof                     EQU *                    ; size:   $38 (56)
  1179.                         ENDR
  1180. MSAMParam                RECORD 0
  1181. qLink                     ds.l    1                ; offset: $0 (0)
  1182. reservedH1                 ds.l    1                ; offset: $4 (4)
  1183. reservedH2                 ds.l    1                ; offset: $8 (8)
  1184. ioCompletion             ds.l    1                ; offset: $C (12)
  1185. ioResult                 ds.w    1                ; offset: $10 (16)
  1186. saveA5                     ds.l    1                ; offset: $12 (18)
  1187. reqCode                     ds.w    1                ; offset: $16 (22)
  1188.                          ORG 0
  1189. pmsamGetMSAMRecord         ds        PMSAMGetMSAMRecordPB ; offset: $0 (0)
  1190.                          ORG 0
  1191. pmsamOpenQueues             ds        PMSAMOpenQueuesPB ; offset: $0 (0)
  1192.                          ORG 0
  1193. pmsamSetStatus             ds        PMSAMSetStatusPB ; offset: $0 (0)
  1194.                          ORG 0
  1195. pmsamLogError             ds        PMSAMLogErrorPB ; offset: $0 (0)
  1196.                          ORG 0
  1197. smsamSetup                 ds        SMSAMSetupPB    ; offset: $0 (0)
  1198.                          ORG 0
  1199. smsamStartup             ds        SMSAMStartupPB ; offset: $0 (0)
  1200.                          ORG 0
  1201. smsamShutdown             ds        SMSAMShutdownPB ; offset: $0 (0)
  1202.                          ORG 0
  1203. msamEnumerate             ds        MSAMEnumeratePB ; offset: $0 (0)
  1204.                          ORG 0
  1205. msamDelete                 ds        MSAMDeletePB    ; offset: $0 (0)
  1206.                          ORG 0
  1207. msamOpen                 ds        MSAMOpenPB        ; offset: $0 (0)
  1208.                          ORG 0
  1209. msamOpenNested             ds        MSAMOpenNestedPB ; offset: $0 (0)
  1210.                          ORG 0
  1211. msamClose                 ds        MSAMClosePB        ; offset: $0 (0)
  1212.                          ORG 0
  1213. msamGetMsgHeader         ds        MSAMGetMsgHeaderPB ; offset: $0 (0)
  1214.                          ORG 0
  1215. msamGetAttributes         ds        MSAMGetAttributesPB ; offset: $0 (0)
  1216.                          ORG 0
  1217. msamGetRecipients         ds        MSAMGetRecipientsPB ; offset: $0 (0)
  1218.                          ORG 0
  1219. msamGetContent             ds        MSAMGetContentPB ; offset: $0 (0)
  1220.                          ORG 0
  1221. msamGetEnclosure         ds        MSAMGetEnclosurePB ; offset: $0 (0)
  1222.                          ORG 0
  1223. msamEnumerateBlocks         ds        MSAMEnumerateBlocksPB ; offset: $0 (0)
  1224.                          ORG 0
  1225. msamGetBlock             ds        MSAMGetBlockPB ; offset: $0 (0)
  1226.                          ORG 0
  1227. msamMarkRecipients         ds        MSAMMarkRecipientsPB ; offset: $0 (0)
  1228.                          ORG 0
  1229. msamnMarkRecipients         ds        MSAMnMarkRecipientsPB ; offset: $0 (0)
  1230.                          ORG 0
  1231. msamCreate                 ds        MSAMCreatePB    ; offset: $0 (0)
  1232.                          ORG 0
  1233. msamBeginNested             ds        MSAMBeginNestedPB ; offset: $0 (0)
  1234.                          ORG 0
  1235. msamEndNested             ds        MSAMEndNestedPB ; offset: $0 (0)
  1236.                          ORG 0
  1237. msamSubmit                 ds        MSAMSubmitPB    ; offset: $0 (0)
  1238.                          ORG 0
  1239. msamPutMsgHeader         ds        MSAMPutMsgHeaderPB ; offset: $0 (0)
  1240.                          ORG 0
  1241. msamPutAttribute         ds        MSAMPutAttributePB ; offset: $0 (0)
  1242.                          ORG 0
  1243. msamPutRecipient         ds        MSAMPutRecipientPB ; offset: $0 (0)
  1244.                          ORG 0
  1245. msamPutContent             ds        MSAMPutContentPB ; offset: $0 (0)
  1246.                          ORG 0
  1247. msamPutEnclosure         ds        MSAMPutEnclosurePB ; offset: $0 (0)        ;  this field is SYSTEM8_DEPRECATED
  1248.                          ORG 0
  1249. msamPutBlock             ds        MSAMPutBlockPB ; offset: $0 (0)
  1250.                          ORG 0
  1251. msamCreateReport         ds        MSAMCreateReportPB ; offset: $0 (0)        ;  Reports and Error Handling Calls 
  1252.                          ORG 0
  1253. msamPutRecipientReport     ds        MSAMPutRecipientReportPB ; offset: $0 (0)
  1254.                          ORG 0
  1255. pmsamCreateMsgSummary     ds        PMSAMCreateMsgSummaryPB ; offset: $0 (0)
  1256.                          ORG 0
  1257. pmsamPutMsgSummary         ds        PMSAMPutMsgSummaryPB ; offset: $0 (0)
  1258.                          ORG 0
  1259. pmsamGetMsgSummary         ds        PMSAMGetMsgSummaryPB ; offset: $0 (0)
  1260.                          ORG 0
  1261. wakeupPMSAM                 ds        MailWakeupPMSAMPB ; offset: $0 (0)
  1262.                          ORG 0
  1263. createMailSlot             ds        MailCreateMailSlotPB ; offset: $0 (0)
  1264.                          ORG 0
  1265. modifyMailSlot             ds        MailModifyMailSlotPB ; offset: $0 (0)
  1266.                          ORG 130
  1267. sizeof                     EQU *                    ; size:   $82 (130)
  1268.                         ENDR
  1269. ;  ASYNCHRONOUS ONLY, client must call WaitNextEvent 
  1270. ;
  1271. ; pascal OSErr MailCreateMailSlot(MSAMParam *paramBlock)
  1272. ;
  1273.     IF ¨ GENERATINGCFM THEN
  1274.         Macro
  1275.         _MailCreateMailSlot
  1276.             moveq               #1,D0
  1277.             move.b              D0,-(sp)
  1278.             move.w              #$052B,-(sp)
  1279.             dc.w                $AA5E
  1280.         EndM
  1281.     ELSE
  1282.         IMPORT_CFM_FUNCTION MailCreateMailSlot
  1283.     ENDIF
  1284.  
  1285. ;  ASYNCHRONOUS ONLY, client must call WaitNextEvent 
  1286. ;
  1287. ; pascal OSErr MailModifyMailSlot(MSAMParam *paramBlock)
  1288. ;
  1289.     IF ¨ GENERATINGCFM THEN
  1290.         Macro
  1291.         _MailModifyMailSlot
  1292.             moveq               #1,D0
  1293.             move.b              D0,-(sp)
  1294.             move.w              #$052C,-(sp)
  1295.             dc.w                $AA5E
  1296.         EndM
  1297.     ELSE
  1298.         IMPORT_CFM_FUNCTION MailModifyMailSlot
  1299.     ENDIF
  1300.  
  1301. ;  ASYNCHRONOUS ONLY, client must call WaitNextEvent 
  1302. ;
  1303. ; pascal OSErr MailWakeupPMSAM(MSAMParam *paramBlock)
  1304. ;
  1305.     IF ¨ GENERATINGCFM THEN
  1306.         Macro
  1307.         _MailWakeupPMSAM
  1308.             moveq               #1,D0
  1309.             move.b              D0,-(sp)
  1310.             move.w              #$0507,-(sp)
  1311.             dc.w                $AA5E
  1312.         EndM
  1313.     ELSE
  1314.         IMPORT_CFM_FUNCTION MailWakeupPMSAM
  1315.     ENDIF
  1316.  
  1317. ;  Personal MSAM Glue Routines 
  1318. ;
  1319. ; pascal OSErr PMSAMOpenQueues(MSAMParam *paramBlock)
  1320. ;
  1321.     IF ¨ GENERATINGCFM THEN
  1322.         Macro
  1323.         _PMSAMOpenQueues
  1324.             moveq               #0,D0
  1325.             move.b              D0,-(sp)
  1326.             move.w              #$0500,-(sp)
  1327.             dc.w                $AA5E
  1328.         EndM
  1329.     ELSE
  1330.         IMPORT_CFM_FUNCTION PMSAMOpenQueues
  1331.     ENDIF
  1332.  
  1333. ;
  1334. ; pascal OSErr PMSAMSetStatus(MSAMParam *paramBlock, Boolean asyncFlag)
  1335. ;
  1336.     IF ¨ GENERATINGCFM THEN
  1337.         Macro
  1338.         _PMSAMSetStatus
  1339.             move.w              #$0527,-(sp)
  1340.             dc.w                $AA5E
  1341.         EndM
  1342.     ELSE
  1343.         IMPORT_CFM_FUNCTION PMSAMSetStatus
  1344.     ENDIF
  1345.  
  1346. ;  SYNC ONLY 
  1347. ;
  1348. ; pascal OSErr PMSAMGetMSAMRecord(MSAMParam *paramBlock)
  1349. ;
  1350.     IF ¨ GENERATINGCFM THEN
  1351.         Macro
  1352.         _PMSAMGetMSAMRecord
  1353.             moveq               #0,D0
  1354.             move.b              D0,-(sp)
  1355.             move.w              #$0506,-(sp)
  1356.             dc.w                $AA5E
  1357.         EndM
  1358.     ELSE
  1359.         IMPORT_CFM_FUNCTION PMSAMGetMSAMRecord
  1360.     ENDIF
  1361.  
  1362. ;  Server MSAM Glue Routines 
  1363. ;  SYNC ONLY 
  1364. ;
  1365. ; pascal OSErr SMSAMSetup(MSAMParam *paramBlock)
  1366. ;
  1367.     IF ¨ GENERATINGCFM THEN
  1368.         Macro
  1369.         _SMSAMSetup
  1370.             moveq               #0,D0
  1371.             move.b              D0,-(sp)
  1372.             move.w              #$0523,-(sp)
  1373.             dc.w                $AA5E
  1374.         EndM
  1375.     ELSE
  1376.         IMPORT_CFM_FUNCTION SMSAMSetup
  1377.     ENDIF
  1378.  
  1379. ;  SYNC ONLY 
  1380. ;
  1381. ; pascal OSErr SMSAMStartup(MSAMParam *paramBlock)
  1382. ;
  1383.     IF ¨ GENERATINGCFM THEN
  1384.         Macro
  1385.         _SMSAMStartup
  1386.             moveq               #0,D0
  1387.             move.b              D0,-(sp)
  1388.             move.w              #$0501,-(sp)
  1389.             dc.w                $AA5E
  1390.         EndM
  1391.     ELSE
  1392.         IMPORT_CFM_FUNCTION SMSAMStartup
  1393.     ENDIF
  1394.  
  1395. ;
  1396. ; pascal OSErr SMSAMShutdown(MSAMParam *paramBlock, Boolean asyncFlag)
  1397. ;
  1398.     IF ¨ GENERATINGCFM THEN
  1399.         Macro
  1400.         _SMSAMShutdown
  1401.             move.w              #$0502,-(sp)
  1402.             dc.w                $AA5E
  1403.         EndM
  1404.     ELSE
  1405.         IMPORT_CFM_FUNCTION SMSAMShutdown
  1406.     ENDIF
  1407.  
  1408. ;  Get Interface Glue Routines 
  1409. ;
  1410. ; pascal OSErr MSAMEnumerate(MSAMParam *paramBlock, Boolean asyncFlag)
  1411. ;
  1412.     IF ¨ GENERATINGCFM THEN
  1413.         Macro
  1414.         _MSAMEnumerate
  1415.             move.w              #$0503,-(sp)
  1416.             dc.w                $AA5E
  1417.         EndM
  1418.     ELSE
  1419.         IMPORT_CFM_FUNCTION MSAMEnumerate
  1420.     ENDIF
  1421.  
  1422. ;
  1423. ; pascal OSErr MSAMDelete(MSAMParam *paramBlock, Boolean asyncFlag)
  1424. ;
  1425.     IF ¨ GENERATINGCFM THEN
  1426.         Macro
  1427.         _MSAMDelete
  1428.             move.w              #$0504,-(sp)
  1429.             dc.w                $AA5E
  1430.         EndM
  1431.     ELSE
  1432.         IMPORT_CFM_FUNCTION MSAMDelete
  1433.     ENDIF
  1434.  
  1435. ;
  1436. ; pascal OSErr MSAMMarkRecipients(MSAMParam *paramBlock, Boolean asyncFlag)
  1437. ;
  1438.     IF ¨ GENERATINGCFM THEN
  1439.         Macro
  1440.         _MSAMMarkRecipients
  1441.             move.w              #$0505,-(sp)
  1442.             dc.w                $AA5E
  1443.         EndM
  1444.     ELSE
  1445.         IMPORT_CFM_FUNCTION MSAMMarkRecipients
  1446.     ENDIF
  1447.  
  1448. ;
  1449. ; pascal OSErr MSAMnMarkRecipients(MSAMParam *paramBlock, Boolean asyncFlag)
  1450. ;
  1451.     IF ¨ GENERATINGCFM THEN
  1452.         Macro
  1453.         _MSAMnMarkRecipients
  1454.             move.w              #$0512,-(sp)
  1455.             dc.w                $AA5E
  1456.         EndM
  1457.     ELSE
  1458.         IMPORT_CFM_FUNCTION MSAMnMarkRecipients
  1459.     ENDIF
  1460.  
  1461. ;
  1462. ; pascal OSErr MSAMOpen(MSAMParam *paramBlock, Boolean asyncFlag)
  1463. ;
  1464.     IF ¨ GENERATINGCFM THEN
  1465.         Macro
  1466.         _MSAMOpen
  1467.             move.w              #$0508,-(sp)
  1468.             dc.w                $AA5E
  1469.         EndM
  1470.     ELSE
  1471.         IMPORT_CFM_FUNCTION MSAMOpen
  1472.     ENDIF
  1473.  
  1474. ;
  1475. ; pascal OSErr MSAMOpenNested(MSAMParam *paramBlock, Boolean asyncFlag)
  1476. ;
  1477.     IF ¨ GENERATINGCFM THEN
  1478.         Macro
  1479.         _MSAMOpenNested
  1480.             move.w              #$0509,-(sp)
  1481.             dc.w                $AA5E
  1482.         EndM
  1483.     ELSE
  1484.         IMPORT_CFM_FUNCTION MSAMOpenNested
  1485.     ENDIF
  1486.  
  1487. ;
  1488. ; pascal OSErr MSAMClose(MSAMParam *paramBlock, Boolean asyncFlag)
  1489. ;
  1490.     IF ¨ GENERATINGCFM THEN
  1491.         Macro
  1492.         _MSAMClose
  1493.             move.w              #$050A,-(sp)
  1494.             dc.w                $AA5E
  1495.         EndM
  1496.     ELSE
  1497.         IMPORT_CFM_FUNCTION MSAMClose
  1498.     ENDIF
  1499.  
  1500. ;
  1501. ; pascal OSErr MSAMGetRecipients(MSAMParam *paramBlock, Boolean asyncFlag)
  1502. ;
  1503.     IF ¨ GENERATINGCFM THEN
  1504.         Macro
  1505.         _MSAMGetRecipients
  1506.             move.w              #$050C,-(sp)
  1507.             dc.w                $AA5E
  1508.         EndM
  1509.     ELSE
  1510.         IMPORT_CFM_FUNCTION MSAMGetRecipients
  1511.     ENDIF
  1512.  
  1513. ;
  1514. ; pascal OSErr MSAMGetAttributes(MSAMParam *paramBlock, Boolean asyncFlag)
  1515. ;
  1516.     IF ¨ GENERATINGCFM THEN
  1517.         Macro
  1518.         _MSAMGetAttributes
  1519.             move.w              #$050B,-(sp)
  1520.             dc.w                $AA5E
  1521.         EndM
  1522.     ELSE
  1523.         IMPORT_CFM_FUNCTION MSAMGetAttributes
  1524.     ENDIF
  1525.  
  1526. ;
  1527. ; pascal OSErr MSAMGetContent(MSAMParam *paramBlock, Boolean asyncFlag)
  1528. ;
  1529.     IF ¨ GENERATINGCFM THEN
  1530.         Macro
  1531.         _MSAMGetContent
  1532.             move.w              #$050D,-(sp)
  1533.             dc.w                $AA5E
  1534.         EndM
  1535.     ELSE
  1536.         IMPORT_CFM_FUNCTION MSAMGetContent
  1537.     ENDIF
  1538.  
  1539. ;
  1540. ; pascal OSErr MSAMGetEnclosure(MSAMParam *paramBlock, Boolean asyncFlag)
  1541. ;
  1542.     IF ¨ GENERATINGCFM THEN
  1543.         Macro
  1544.         _MSAMGetEnclosure
  1545.             move.w              #$050E,-(sp)
  1546.             dc.w                $AA5E
  1547.         EndM
  1548.     ELSE
  1549.         IMPORT_CFM_FUNCTION MSAMGetEnclosure
  1550.     ENDIF
  1551.  
  1552. ;
  1553. ; pascal OSErr MSAMEnumerateBlocks(MSAMParam *paramBlock, Boolean asyncFlag)
  1554. ;
  1555.     IF ¨ GENERATINGCFM THEN
  1556.         Macro
  1557.         _MSAMEnumerateBlocks
  1558.             move.w              #$050F,-(sp)
  1559.             dc.w                $AA5E
  1560.         EndM
  1561.     ELSE
  1562.         IMPORT_CFM_FUNCTION MSAMEnumerateBlocks
  1563.     ENDIF
  1564.  
  1565. ;
  1566. ; pascal OSErr MSAMGetBlock(MSAMParam *paramBlock, Boolean asyncFlag)
  1567. ;
  1568.     IF ¨ GENERATINGCFM THEN
  1569.         Macro
  1570.         _MSAMGetBlock
  1571.             move.w              #$0510,-(sp)
  1572.             dc.w                $AA5E
  1573.         EndM
  1574.     ELSE
  1575.         IMPORT_CFM_FUNCTION MSAMGetBlock
  1576.     ENDIF
  1577.  
  1578. ;
  1579. ; pascal OSErr MSAMGetMsgHeader(MSAMParam *paramBlock, Boolean asyncFlag)
  1580. ;
  1581.     IF ¨ GENERATINGCFM THEN
  1582.         Macro
  1583.         _MSAMGetMsgHeader
  1584.             move.w              #$0511,-(sp)
  1585.             dc.w                $AA5E
  1586.         EndM
  1587.     ELSE
  1588.         IMPORT_CFM_FUNCTION MSAMGetMsgHeader
  1589.     ENDIF
  1590.  
  1591. ;  Put Interface Glue Routines 
  1592. ;
  1593. ; pascal OSErr MSAMCreate(MSAMParam *paramBlock, Boolean asyncFlag)
  1594. ;
  1595.     IF ¨ GENERATINGCFM THEN
  1596.         Macro
  1597.         _MSAMCreate
  1598.             move.w              #$0514,-(sp)
  1599.             dc.w                $AA5E
  1600.         EndM
  1601.     ELSE
  1602.         IMPORT_CFM_FUNCTION MSAMCreate
  1603.     ENDIF
  1604.  
  1605. ;
  1606. ; pascal OSErr MSAMBeginNested(MSAMParam *paramBlock, Boolean asyncFlag)
  1607. ;
  1608.     IF ¨ GENERATINGCFM THEN
  1609.         Macro
  1610.         _MSAMBeginNested
  1611.             move.w              #$0515,-(sp)
  1612.             dc.w                $AA5E
  1613.         EndM
  1614.     ELSE
  1615.         IMPORT_CFM_FUNCTION MSAMBeginNested
  1616.     ENDIF
  1617.  
  1618. ;
  1619. ; pascal OSErr MSAMEndNested(MSAMParam *paramBlock)
  1620. ;
  1621.     IF ¨ GENERATINGCFM THEN
  1622.         Macro
  1623.         _MSAMEndNested
  1624.             moveq               #0,D0
  1625.             move.b              D0,-(sp)
  1626.             move.w              #$0516,-(sp)
  1627.             dc.w                $AA5E
  1628.         EndM
  1629.     ELSE
  1630.         IMPORT_CFM_FUNCTION MSAMEndNested
  1631.     ENDIF
  1632.  
  1633. ;   SYNCHRONOUS ONLY 
  1634. ;
  1635. ; pascal OSErr MSAMSubmit(MSAMParam *paramBlock)
  1636. ;
  1637.     IF ¨ GENERATINGCFM THEN
  1638.         Macro
  1639.         _MSAMSubmit
  1640.             moveq               #0,D0
  1641.             move.b              D0,-(sp)
  1642.             move.w              #$0517,-(sp)
  1643.             dc.w                $AA5E
  1644.         EndM
  1645.     ELSE
  1646.         IMPORT_CFM_FUNCTION MSAMSubmit
  1647.     ENDIF
  1648.  
  1649. ;
  1650. ; pascal OSErr MSAMPutAttribute(MSAMParam *paramBlock, Boolean asyncFlag)
  1651. ;
  1652.     IF ¨ GENERATINGCFM THEN
  1653.         Macro
  1654.         _MSAMPutAttribute
  1655.             move.w              #$0518,-(sp)
  1656.             dc.w                $AA5E
  1657.         EndM
  1658.     ELSE
  1659.         IMPORT_CFM_FUNCTION MSAMPutAttribute
  1660.     ENDIF
  1661.  
  1662. ;
  1663. ; pascal OSErr MSAMPutRecipient(MSAMParam *paramBlock, Boolean asyncFlag)
  1664. ;
  1665.     IF ¨ GENERATINGCFM THEN
  1666.         Macro
  1667.         _MSAMPutRecipient
  1668.             move.w              #$0519,-(sp)
  1669.             dc.w                $AA5E
  1670.         EndM
  1671.     ELSE
  1672.         IMPORT_CFM_FUNCTION MSAMPutRecipient
  1673.     ENDIF
  1674.  
  1675. ;
  1676. ; pascal OSErr MSAMPutContent(MSAMParam *paramBlock, Boolean asyncFlag)
  1677. ;
  1678.     IF ¨ GENERATINGCFM THEN
  1679.         Macro
  1680.         _MSAMPutContent
  1681.             move.w              #$051A,-(sp)
  1682.             dc.w                $AA5E
  1683.         EndM
  1684.     ELSE
  1685.         IMPORT_CFM_FUNCTION MSAMPutContent
  1686.     ENDIF
  1687.  
  1688. ;   SYNCHRONOUS ONLY 
  1689. ;
  1690. ; pascal OSErr MSAMPutEnclosure(MSAMParam *paramBlock)
  1691. ;
  1692.     IF ¨ GENERATINGCFM THEN
  1693.         Macro
  1694.         _MSAMPutEnclosure
  1695.             moveq               #0,D0
  1696.             move.b              D0,-(sp)
  1697.             move.w              #$051B,-(sp)
  1698.             dc.w                $AA5E
  1699.         EndM
  1700.     ELSE
  1701.         IMPORT_CFM_FUNCTION MSAMPutEnclosure
  1702.     ENDIF
  1703.  
  1704. ;
  1705. ; pascal OSErr MSAMPutBlock(MSAMParam *paramBlock, Boolean asyncFlag)
  1706. ;
  1707.     IF ¨ GENERATINGCFM THEN
  1708.         Macro
  1709.         _MSAMPutBlock
  1710.             move.w              #$051C,-(sp)
  1711.             dc.w                $AA5E
  1712.         EndM
  1713.     ELSE
  1714.         IMPORT_CFM_FUNCTION MSAMPutBlock
  1715.     ENDIF
  1716.  
  1717. ;
  1718. ; pascal OSErr MSAMPutMsgHeader(MSAMParam *paramBlock, Boolean asyncFlag)
  1719. ;
  1720.     IF ¨ GENERATINGCFM THEN
  1721.         Macro
  1722.         _MSAMPutMsgHeader
  1723.             move.w              #$051D,-(sp)
  1724.             dc.w                $AA5E
  1725.         EndM
  1726.     ELSE
  1727.         IMPORT_CFM_FUNCTION MSAMPutMsgHeader
  1728.     ENDIF
  1729.  
  1730. ;  Reports and Error Handling Glue Routines 
  1731. ;
  1732. ; pascal OSErr MSAMCreateReport(MSAMParam *paramBlock, Boolean asyncFlag)
  1733. ;
  1734.     IF ¨ GENERATINGCFM THEN
  1735.         Macro
  1736.         _MSAMCreateReport
  1737.             move.w              #$051F,-(sp)
  1738.             dc.w                $AA5E
  1739.         EndM
  1740.     ELSE
  1741.         IMPORT_CFM_FUNCTION MSAMCreateReport
  1742.     ENDIF
  1743.  
  1744. ;
  1745. ; pascal OSErr MSAMPutRecipientReport(MSAMParam *paramBlock, Boolean asyncFlag)
  1746. ;
  1747.     IF ¨ GENERATINGCFM THEN
  1748.         Macro
  1749.         _MSAMPutRecipientReport
  1750.             move.w              #$0520,-(sp)
  1751.             dc.w                $AA5E
  1752.         EndM
  1753.     ELSE
  1754.         IMPORT_CFM_FUNCTION MSAMPutRecipientReport
  1755.     ENDIF
  1756.  
  1757. ;
  1758. ; pascal OSErr PMSAMLogError(MSAMParam *paramBlock)
  1759. ;
  1760.     IF ¨ GENERATINGCFM THEN
  1761.         Macro
  1762.         _PMSAMLogError
  1763.             moveq               #0,D0
  1764.             move.b              D0,-(sp)
  1765.             move.w              #$0521,-(sp)
  1766.             dc.w                $AA5E
  1767.         EndM
  1768.     ELSE
  1769.         IMPORT_CFM_FUNCTION PMSAMLogError
  1770.     ENDIF
  1771.  
  1772. ;  MsgSummary Glue Routines 
  1773. ;
  1774. ; pascal OSErr PMSAMCreateMsgSummary(MSAMParam *paramBlock, Boolean asyncFlag)
  1775. ;
  1776.     IF ¨ GENERATINGCFM THEN
  1777.         Macro
  1778.         _PMSAMCreateMsgSummary
  1779.             move.w              #$0522,-(sp)
  1780.             dc.w                $AA5E
  1781.         EndM
  1782.     ELSE
  1783.         IMPORT_CFM_FUNCTION PMSAMCreateMsgSummary
  1784.     ENDIF
  1785.  
  1786. ;
  1787. ; pascal OSErr PMSAMPutMsgSummary(MSAMParam *paramBlock, Boolean asyncFlag)
  1788. ;
  1789.     IF ¨ GENERATINGCFM THEN
  1790.         Macro
  1791.         _PMSAMPutMsgSummary
  1792.             move.w              #$0525,-(sp)
  1793.             dc.w                $AA5E
  1794.         EndM
  1795.     ELSE
  1796.         IMPORT_CFM_FUNCTION PMSAMPutMsgSummary
  1797.     ENDIF
  1798.  
  1799. ;
  1800. ; pascal OSErr PMSAMGetMsgSummary(MSAMParam *paramBlock, Boolean asyncFlag)
  1801. ;
  1802.     IF ¨ GENERATINGCFM THEN
  1803.         Macro
  1804.         _PMSAMGetMsgSummary
  1805.             move.w              #$0526,-(sp)
  1806.             dc.w                $AA5E
  1807.         EndM
  1808.     ELSE
  1809.         IMPORT_CFM_FUNCTION PMSAMGetMsgSummary
  1810.     ENDIF
  1811.  
  1812.     ENDIF
  1813.     ENDIF ; __OCEMAIL__ 
  1814.  
  1815.